

//日志消息模块设计
//时间，文件名，行号，线程ID，日志等级，日志信息(主体消息),日志器
#ifndef __M_MSG_H__
#define __M_MSG_H__


#include "logLevel.hpp"
#include "util.hpp"
#include <string>
#include <thread>

namespace xglog
{
    struct logMessage
    {
        public:
        time_t _current_time;//时间
        size_t _line;//行号
        std::string _file;//文件名
        xglog::LogLevel::value _level;//日志等级
        std::string _msg;//日志主体消息
        std::thread::id _tid;//线程ID
        std::string _logger;//日志器
    
        logMessage(LogLevel::value level,
                    size_t line,
                    const std::string file,
                    const std::string logger,
                    std::string  msg)
                    :_level(level),
                    _line(line),
                    _file(file),
                    _msg(msg),
                    _logger(logger)
                    {
                        _current_time=xglog::util::Date::datetime();
                        _tid=std::this_thread::get_id();//获取当前线程的线程ID
                    }
        ~logMessage()
        {}
    };
}
#endif